"""
字体反爬
字体反爬是防爬虫的一种技术，是通过页面和前端'字体文件'去配合完成，主要是为了防止爬虫程序直接获取到网页的真实文字内容。
是将常规的字符'映射'到特殊的字体图标或unicode编码上，让网页页面渲染出来的字体跟抓包获取到的字体截然不同，以此导致爬虫程序获取不到真实的数据。
字体反爬的实现方式通常是两种：

1、动态字体：就是使用js技术根据一定的算法或规则进行‘动态生成’字体。使用js逆向工程找到对应的算法或加密的规则代码写入到爬虫程序中去进行执行得出真正的文字数据。
2、使用自定义的字体文件：网站会自己构建对应的字体文件，这些字体文件包含了特殊字符格式和对应的映射规则，会在第二次请求时发给客户端让它进行渲染成正常的显示，所以第一次的静态Html显示中就是'乱码'的情况
处理步骤

•获取字体文件  font.woff2文件 转成xml文件
◦服务端通常会把[字体文件]放到css字体样式中去存储，[字体文件]的存放方式一般分为两种
▪以链接url的形式存在，这时就需要去发送请求获取响应的二进制数据写入到本地的文件中进行下载
▪以base64字符串数据的形式存放，这时就把这个base64字符串解码未二进制数据再写入到本地的文件中进行下载。
•解析字体映射表
◦在python代码中可以使用对应的模块去把字体文件进行解析获取所有的字段数据，再需要用第三方工具把字体文件的映射关系显示出来，然后就可以去python中找到对应的关系字段进行打包。
•替换文件内容
◦去把需要进行字体转换的响应数据爬取出来，用正则解析出来要替换的所有字符，再把上一步获取的正确字符按照打包好的'映射关系'与特殊字符进行一一替换，就可以下载存储了。

fontTools
fontTools提供了一系列的工具来处理字体文件
pip install fontTools
pip install brotli

"""